package com.sailfish.springbootdemo.service.db1;

import com.sailfish.springbootdemo.pojo.Result;
import com.sailfish.springbootdemo.pojo.db1.RoadmapBigType;
import com.sailfish.springbootdemo.pojo.db1.RoadmapSmallType;

import java.util.List;

public interface RoadmapSmallTypeService {

    /**
     * 查询
     *
     * @param searchValue
     * @return
     */
    List<RoadmapSmallType> getAllRoadmapSmallType(String searchValue, Integer roadmapBigTypeId);

    /**
     * 删除
     *
     * @param roadmapSmallTypeId
     * @return
     */
    Result deleteRoadmapSmallType(Integer roadmapSmallTypeId);

    /**
     * 新增或者更新
     *
     * @param mode
     * @param roadmapSmallType
     * @return
     */
    Result addOrUpdateRoadmapSmallType(String mode, RoadmapSmallType roadmapSmallType);

    /**
     * 根据大类查询小类已有roadmap能力项
     *
     * @param roadmapBigTypeId
     * @return
     */
    Result getAllRoadmapSmallTypeAndParam(Integer roadmapBigTypeId, Integer year, Integer versionY, String versionN);

    /**
     * 根据大类查询小类已有roadmap能力项【h3c三年能力】
     *
     * @param roadmapBigTypeId
     * @return
     */
    Result getAllRoadmapSmallTypeAndParamH3c(Integer roadmapBigTypeId, Integer year, Integer versionY, String versionN);

    /**
     * 根据大类查询小类已有roadmap能力项【h3c三年能力 和 cm 能力】
     *
     * @param roadmapBigTypeId
     * @return
     */
    Result getAllRoadmapSmallTypeAndParamCm(Integer roadmapBigTypeId, Integer pcbaCompanyId, Integer year, Integer versionY, String versionN);

    /**
     * 根据选择的多个工厂id 和 大类id 查询 Cm roadmap 能力 以及计算出 能力是否匹配
     *
     * @param pcbaCompanyIdsStr
     * @return
     */
    Result getCmRoadmapByCompanyIdsAndBigTypeAndCalcCapacityIsMatch(Integer roadmapBigTypeId, String pcbaCompanyIdsStr, Integer year, Integer versionY, String versionN);

    Result getCmRoadmapByCompanyIdsAndBigTypeAndCalcCapacityIsMatch2(Integer roadmapBigTypeId, String pcbaCompanyIdsStr, Integer year, Integer versionY, String versionN);
}
